package com.tecode.day01.homeword;

import java.util.Scanner;

public class TestBooks {
/**
 * 构建一个图书类，包含编号，书名，作者，价格，出口商信息

		实例化出几本图书，存放在数组中
		
		实现用户输入查询图书信息.
		
		要求：查询书本可以通过书箱编号或书籍名称或作者等信息
		            查询出书籍后提示是否有该书籍，如果有，则显示该书籍的相应信息
		            
		            
		1.需要定义一个存放书籍对象的数组。
		Book books[] = new Book[5];
				
		books数组中的每个元素的值为null；
		2.给数组中的每个元素实例化书籍对象。
		 Book b1  = new Book();
		 books[0] = b1;
		3.给每一本书籍的属性赋值。 
		 books[0].id = 1001
		 books[0].name = "aa";
		 
		 
		 books[1].id = 1002
		 
		4.确定需要查询的信息。
			输入查找的信息。
		5.判断数组中的哪一个书籍对象的一个属性的值等于 输入查找的信息。
		6.如果有匹配的则显示该书籍的信息。
		7.如果整个数组都查找完 还没有匹配的信息，则查无此书。
 */
	
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		//1.定义存放书籍的数组对象；
		Book books[]  = new Book[3]; // 只表示数组中可以存放3本书的对象，但是现在还没有指定存放那3本书。
		
		
		//2.给每一本数实例化对象，并给属性赋值。
		
		for (int i = 0; i < books.length; i++) {
			//Book book = new Book();   // x001
			// 初始化数组中每一本数的对象。
			books[i] =  new Book();
			
			System.out.println("请输入第" +(i+1)+"本书籍的编号:");
			books[i].id = sc.nextInt();
			
			System.out.println("请输入第" +(i+1)+"本书籍的名称:");
			books[i].name = sc.next();
			
			System.out.println("请输入第" +(i+1)+"本书籍的作者:");
			books[i].author = sc.next();
			
			
			System.out.println("请输入第" +(i+1)+"本书籍的价格:");
			books[i].price = sc.nextDouble();
			System.out.println("请输入第" +(i+1)+"本书籍的出版社:");
			books[i].press = sc.next();
			
			System.out.println("是否继续添加数据 y");
			char flag = sc.next().charAt(0);
			
			if(!(flag =='Y' || flag =='y')){
				break;
			}
			
		}
		
			while(true){
		
					System.out.println("请输入查询的数据的编号");	
					
					int bookId = sc.nextInt();
					//存放查找到的书籍对象
					Book book = null;
					//遍历存放书籍的数组，来判断哪一个书籍对象的编号和输入的变量相同。
					for (int i = 0; i < books.length; i++) {
						if(books[i] != null && bookId == books[i].id){
							//把查找到的书籍对象，使用一个变量来存放。
							book = books[i];
							break;
						}
					}
					
					//判断是否在数组中查找到对应的书籍的编号。
					if(book == null){
						System.out.println("查无此书。。。");
					}else{
						book.show();
					}
					
			}
		
		
		

	}
	
	
	
}
